import CommonGameConfig from "../Common/CommonGameConfig";

/**
 * 全局使用的游戏配置，只包含静态数据
 * 
 * 不同游戏专属配置在此配置
 */
export default class GameConfig extends CommonGameConfig {

    //服务器地址
    public static url_ad = 'https://ad.geyian.ink/';
    public static url_login = 'https://mljyd.youdongxi.cn/';
    public static url_gamelevel = 'https://img.youdongxi.cn/';
    public static url_buy = "https://tj.geyian.ink/";

    /**
     * 游戏规则
     */
    public static GameRule = {

        /******************************类似dnf的2d模拟3d游戏配置******************************/
        /**屏幕Y轴与逻辑Z轴的转换比例，Y坐标乘以该值即为Z坐标 */
        y2z: 2,
        /**逻辑Z轴与屏幕Y轴的转换比例 */
        z2y: 0.5,
        /**YZ轴转换时的Z轴偏移，计算公式：z = offsetZ - y * y2z;    y = (offsetZ - z) * z2y */
        offsetZ: 2000,

        /**相机跟随玩家时与玩家角色的X轴坐标偏移量 */
        cameraOffsetX: 300,


        /******************************2d物理世界单位与3d世界单位转换比例******************************/
        /**3D游戏场景单位转换为2D物理世界单位时需要乘以的系数 */
        rate3to2: 20,
        /**2D物理世界单位转换为3D游戏场景单位时需要乘以的系数 */
        rate2to3: 1 / 20,

        /**角色碰撞体半径，基于3D游戏场景的单位 */
        roleRadius: 0.5,

        /**金币半径，基于3D游戏场景的单位 */
        goldRadius: 0.4,

        /**角色初始大小 */
        minScale: 1.3,
        /**角色每次升级时的大小变化 */
        scaleStep: 0.4,

        /******************************玩家移动速度******************************/
        /**玩家水平移动速度 */
        moveSpeed: 500,
        /**玩家跳跃速度 */
        jumpSpeed: 960,
        /**重力加速度，默认值-320 */
        gravity: 2140,

        /******************************关卡地图数据******************************/
        /**关卡地图移动范围 */
        mapScope: {
            xMin: 0,
            xMax: 2000,
            yMin: 0,
            yMax: 1000,
            zMin: 0,
            zMax: 100
        },

        /******************************游戏数据******************************/
        /**武器攻击范围 */
        atkScopeFan: {
            radius: 3,
            halfRadian: 0.78,
        },
        atkScopeSmallFan: {
            radius: 3,
            halfRadian: 0.3,
        },
        atkScopeRect: {
            halfWidth: 0.5,
            length: 4,
        },

        trapperGravity: 20,

        /**敌人音效可听见范围（敌人与玩家的距离平方） */
        enemyAudioScopeSqr: 36,

    };

}
